home *** CD-ROM | disk | FTP | other *** search
- #ifndef _nsIStatefulFrame_h
- #define _nsIStatefulFrame_h
-
- #include "nsISupports.h"
-
- class nsPresContext;
- class nsPresState;
-
- #define NS_ISTATEFULFRAME_IID \
- {0x26254ab7, 0xdea3, 0x4375, \
- {0xb0, 0x1d, 0xbd, 0x11, 0xa1, 0x4b, 0x54, 0xbc}}
-
- class nsIStatefulFrame : public nsISupports {
- public:
- NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISTATEFULFRAME_IID)
-
- // If you create a special type stateful frame (e.g. scroll) that needs
- // to be captured outside of the standard pass through the frames, you'll need
- // a special ID by which to refer to that type.
- //
- // There is space reserved between standard ID's and special ID's by the
- // offset NS_CONTENT_ID_COUNTER_BASE
- enum SpecialStateID {eNoID=0, eDocumentScrollState};
-
- NS_IMETHOD SaveState(nsPresContext* aPresContext, nsPresState** aState) = 0;
- NS_IMETHOD RestoreState(nsPresContext* aPresContext, nsPresState* aState) = 0;
- };
-
- #endif /* _nsIStatefulFrame_h */
-